package com.hzvictory.hotel_system.mapper;

import java.util.List;
import com.hzvictory.hotel_system.pojo.entity.Dishorder;
import com.hzvictory.hotel_system.pojo.entity.Dishorderitem;
import org.apache.ibatis.annotations.Mapper;

/**
 * 菜品订单管理Mapper接口
 *
 * @author hzvictory
 * @date 2025-07-25
 */
@Mapper
public interface DishorderMapper
{
    /**
     * 查询菜品订单管理
     *
     * @param id 菜品订单管理主键
     * @return 菜品订单管理
     */
    public Dishorder selectDishorderById(Long id);

    /**
     * 查询菜品订单管理列表
     *
     * @param dishorder 菜品订单管理
     * @return 菜品订单管理集合
     */
    public List<Dishorder> selectDishorderList(Dishorder dishorder);
    public List<Dishorder> selectDishorderListByUserId(Long userId);

    /**
     * 新增菜品订单管理
     *
     * @param dishorder 菜品订单管理
     * @return 结果
     */
    public int insertDishorder(Dishorder dishorder);

    /**
     * 修改菜品订单管理
     *
     * @param dishorder 菜品订单管理
     * @return 结果
     */
    public int updateDishorder(Dishorder dishorder);
    /**
     * 修改菜品订单管理1待支付->2已支付
     *
     * @param id 菜品订单id
     * @return 结果
     */
    public int updateDishorderStatusById(Long id);

    /**
     * 删除菜品订单管理
     *
     * @param id 菜品订单管理主键
     * @return 结果
     */
    public int deleteDishorderById(Long id);

    /**
     * 批量删除菜品订单管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDishorderByIds(Long[] ids);

    /**
     * 批量删除菜品订单详情
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDishorderitemByOrderIds(Long[] ids);

    /**
     * 批量新增菜品订单详情
     *
     * @param dishorderitemList 菜品订单详情列表
     * @return 结果
     */
    public int batchDishorderitem(List<Dishorderitem> dishorderitemList);


    /**
     * 通过菜品订单管理主键删除菜品订单详情信息
     *
     * @param id 菜品订单管理ID
     * @return 结果
     */
    public int deleteDishorderitemByOrderId(Long id);
}
